import Vue from 'vue'
import App from './App.vue'

import router from './router'
import store from './store'


import Vant from 'vant'
import 'vant/lib/index.css'
Vue.use(Vant)


import * as echarts from 'echarts';
Vue.prototype.$echarts = echarts;

// 接口数据
import request from './utils/request'
Vue.prototype.$request = request;

// import axios from 'axios';
// Vue.prototype.$axios = axios;

// import ElementUI from 'element-ui';
// import 'element-ui/lib/theme-chalk/index.css';
// Vue.use(ElementUI)

// 按需引入
// import Button from 'element-ui/lib/button'
// import 'element-ui/lib/theme-chalk/button.css'
// Vue.use(Button)

// 利用工具 babel-plugin-component 实现按需引入
import {
  Notification,
  Message,
  Button,
  Table,
  Form,
  FormItem,
  Input,
  Row,
  Col,
  Checkbox,
  Container,
  RadioGroup,
  Select,
  Option,
  DatePicker,
  TimePicker,
  Switch,
  CheckboxGroup,
  Radio,
  Dropdown,
  DropdownMenu,
  DropdownItem,
  Badge,
  Upload,
  Dialog,
  TableColumn,
  Pagination,
  Image,
  Card,
  Popover
  // FormItem
} from 'element-ui'
// console.log("Button", Button)
Vue.use(Button); // Vue.component(Button.name,Button)
Vue.use(Table)
Vue.use(Form)
Vue.use(FormItem)
Vue.use(Input)
Vue.use(Row)
Vue.use(Col)
Vue.use(Checkbox)
Vue.use(Container);
Vue.use(RadioGroup);
Vue.use(Select);
Vue.use(Option);
Vue.use(DatePicker);
Vue.use(TimePicker);
Vue.use(Switch);
Vue.use(CheckboxGroup);
Vue.use(Radio);
Vue.use(Dropdown);
Vue.use(DropdownMenu);
Vue.use(DropdownItem);
Vue.use(Badge);
Vue.use(Upload);
Vue.use(Dialog);
Vue.use(TableColumn)
Vue.use(Pagination)
Vue.use(Image)
Vue.use(Card)
Vue.use(Popover)


// Vue.use(FormItem);

// Vue.prototype.$msgbox = MessageBox;
// Vue.prototype.$alert = MessageBox.alert;
// Vue.prototype.$confirm = MessageBox.confirm;
// Vue.prototype.$prompt = MessageBox.prompt;
Vue.prototype.$notify = Notification;
Vue.prototype.$message = Message;
// Vue.prototype.$request = request;

Vue.config.productionTip = false

// 校验用户token
// router.beforeEach((to, from, next) => {
//   const path = to.path;// /manage/,/manage/home,/manage/user
//   // 判断目标路由路径是否以/manage开头
//   console.log('beforeEach')
//   if (path.startsWith('/manage')) {
//     // if (store.getters['user/isLogin']) {
//     //   const { username } = store.state.user.userInfo;
//     //   request.get('/user/verify', {
//     //     params: {
//     //       username
//     //     }
//     //   }).then(({ data }) => {
//     //     if (data.code === 400) {
//     //       store.commit('user/logout')
//     //       router.push('/login')
//     //     }
//     //   })
//     //   next();
//     // } else {
//     //   router.push('/login')
//     // }
//   } else {
//     next();
//   }
// })

new Vue({
  router,
  store,
  render: h => h(App),
}).$mount('#app')